A task scheduler may facilitate the performance of tasks by various computing systems. For example, a task scheduler may be executed by a central computing system and may initiate tasks executed by a computing system coupled to the central computing system through a network by sending a message instructing the computing system to perform the task. Computing systems coupled to the central computing system may execute a remote agent that communicates with the task scheduler. Each remote agent may receive messages that indicate tasks to be performed from the task scheduler and communicate with the components of the respective computing system to carry out the tasks. The remote agents may also report the status of the tasks to the task scheduler.